home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
pluginy Firefox
/
8174
/
8174.xpi
/
chrome
/
antbar.jar
/
content
/
lib
/
array.js
next >
Wrap
Text File
|
2009-12-30
|
3KB
|
150 lines
/*
* DO NOT EDIT THIS FILE !
*
* IT WAS AUTOMATICALLY COPIED FROM THE /lib/ DIRECTORY
* TO UPDATE IT YOU NEED TO BUILD THE XPI OF THE CURRENT PROJECT
*
*/
//
// array.js
// firefox
//
// Created by Zak on 2008-07-03.
// Copyright 2008-2009 Ant.com. All rights reserved.
//
var AntArray = function () {}
AntArray.prototype = new Array;
Array.prototype.constructor = Array;
/**
* Add array items to the current AntArray
* @param Array
*/
AntArray.prototype.fromArray = function (arr)
{
if (!arr || typeof arr != "object")
return ;
for (var i = 0; i < arr.length; i++)
this.push(arr[i]);
return this;
};
/**
* Return an array
*/
AntArray.prototype.toArray = function ()
{
var newArr = new Array();
for (var i = 0; i < this.length; i++)
newArr.push(this[i]);
return newArr;
};
/**
* Return true if the given value is in the current array
* @param value The value to search
* @param compare The function to use to test the presence of a similar data
* @return (boolean) True if the value is in the current array, false if not.
*/
AntArray.prototype.inArray = function (value, compare)
{
for (var i = 0; i < this.length; i++)
{
if (compare != undefined)
{
if (compare(this[i] , value))
return true;
}
else
{
if (this[i] == value)
return true;
}
}
return false;
};
/**
* Return an array containing only uniques entry from the given one
* @param compare (Optional) The function to compare values with
* @return newArr The uniqified array
*/
AntArray.prototype.uniq = function (compare)
{
var newArr = new AntArray();
for (var i = 0; i < this.length; i++)
{
if (!newArr.inArray(this[i], compare))
newArr.push(this[i]);
}
return newArr;
};
/**
* Return a boolean value wether a value has been removed or not
* @param value value to be removed
*/
AntArray.prototype.removeValue = function(value, compare)
{
for (var i = 0; i < this.length; i++)
{
var cond = (compare ? compare(this[i], value) : (this[i] == value));
if (cond)
{
this.splice(i, 1);
return true;
}
}
return false;
};
/**
* Return a boolean true if an element has been removed
* @param index index of the array to be removed
*/
AntArray.prototype.removeIndex = function(index)
{
if (this.length < index)
{
this.splice(index, 1);
return true;
}
return false;
};
/**
* each iterator for the array
*/
AntArray.prototype.each = function (func)
{
for (var i = 0; i < this.length; i++)
func(this[i], i);
};
/**
* toString()
*/
AntArray.prototype.toString = function ()
{
var s = "AntArray[";
for (var i = 0; i < this.length; i++)
s += this[i] +",";
return s.substr(0, s.length - 1) + "]";
};